package br.com.paradigmas.modulos.player;

import java.util.ArrayList;
import java.util.Scanner;

import br.com.paradigmas.modulos.cadastros.album.CadastroAlbum;
import br.com.paradigmas.modulos.cadastros.artista.CadastroArtista;
import br.com.paradigmas.modulos.cadastros.musica.CadastroMusica;
import br.com.paradigmas.modulos.cadastros.pais.CadastroPais;
import br.com.paradigmas.modulos.consultas.musica.ConsultaMusica;
import br.com.paradigmas.persistencia.om.Album;
import br.com.paradigmas.persistencia.om.Artista;
import br.com.paradigmas.persistencia.om.Musica;
import br.com.paradigmas.persistencia.om.Pais;

public class Player
{
	public void rodarPrograma()
	{
		new ConsultaMusica().getFileMusica();
		
		// Scanner para capturar Strings digitadas pelo usuario
		Scanner scanner = new Scanner(System.in);
		String continuar = "s";
		String escolha = "0";
		
		// Variaveis a serem utilizadas
		Pais pais = null;
		Artista artista;
		Musica musica = null;
		Album album = null;
		ArrayList<Musica> musicas = new ArrayList<Musica>();
		ArrayList<Album> albuns = new ArrayList<Album>();
		ArrayList<Musica> listaPersonalizada = new ArrayList<Musica>();
		MP3Player player = new MP3Player();

		while(continuar.contains("s"))
		{
			
			// Escolha usuario
			System.out.println("\n\n==========================================");
			System.out.println("\nEscolha uma das opcoes abaixo:");
			
			System.out.println("Deseja procurar um Artista? (Digite 1)");
			System.out.println("Deseja procurar uma Musica? (Digite 2)");
			System.out.println("Deseja procurar um Pais?    (Digite 3)");
			System.out.println("Deseja procurar um Album?   (Digite 4)");
			
			System.out.println("\nDeseja criar uma lista personalizada? (Digite 5)\n");
			
			System.out.println("Deseja adicionar um Artista? (Digite 6)");
			System.out.println("Deseja adicionar uma Musica? (Digite 7)");
			System.out.println("Deseja adicionar um Pais?    (Digite 8)");
			System.out.println("Deseja adicionar um Album?   (Digite 9)");
			escolha = scanner.next();
			
			switch (Integer.parseInt(escolha)) 
			{
			case 1:
				artista = player.getArtista();
				break;
			case 2:
				if(musicas.size() > 0)
				{
					for (Musica musica2 : musicas) 
					{
						System.out.println("Musica: " + musica2.getNome());
					}
					System.out.println("Voce deseja selecionar outra musica que nao as adicionadas?");
					continuar = scanner.next();
				}
				else if(!continuar.contains("s"))
				{
					musica = player.getMusica();
				}
				break;
			case 3:
				pais = player.getPais();
				break;
			case 4:
				album = player.getAlbum();
				System.out.println("Album: " + album.getNome() + " SELECIONADO");
				break;
			case 5:
				listaPersonalizada = player.getListaPersonalizada();
				break;
			case 6:
				artista = new CadastroArtista().criarArtista();
				break;
			case 7:
				musica = new CadastroMusica().criarMusica();
				musicas.add(musica);
				break;
			case 8:
				pais = new CadastroPais().criarPais();
				break;
			case 9:
				album = new CadastroAlbum().criarAlbum();
				break;
	
			default:
				break;
			}
			
			// Consulta o usuario se quer utilizar o programa novamente
			continuar = "nao";
			System.out.println("\nDeseja continuar utilizando o programa??");
			continuar = scanner.next();
		}
	}
}
